/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package EA_Model.IEC61970.Generation.GenerationDynamics.impl;

import EA_Model.IEC61970.Contingency.ContingencyPackage;

import EA_Model.IEC61970.Contingency.impl.ContingencyPackageImpl;

import EA_Model.IEC61970.ControlArea.ControlAreaPackage;

import EA_Model.IEC61970.ControlArea.impl.ControlAreaPackageImpl;

import EA_Model.IEC61970.Core.CorePackage;

import EA_Model.IEC61970.Core.impl.CorePackageImpl;

import EA_Model.IEC61970.Domain.DomainPackage;

import EA_Model.IEC61970.Domain.impl.DomainPackageImpl;

import EA_Model.IEC61970.Equivalents.EquivalentsPackage;

import EA_Model.IEC61970.Equivalents.impl.EquivalentsPackageImpl;

import EA_Model.IEC61970.Generation.GenerationDynamics.BWRSteamSupply;
import EA_Model.IEC61970.Generation.GenerationDynamics.BoilerControlMode;
import EA_Model.IEC61970.Generation.GenerationDynamics.CTTempActivePowerCurve;
import EA_Model.IEC61970.Generation.GenerationDynamics.CombustionTurbine;
import EA_Model.IEC61970.Generation.GenerationDynamics.DrumBoiler;
import EA_Model.IEC61970.Generation.GenerationDynamics.FossilSteamSupply;
import EA_Model.IEC61970.Generation.GenerationDynamics.GenerationDynamicsFactory;
import EA_Model.IEC61970.Generation.GenerationDynamics.GenerationDynamicsPackage;
import EA_Model.IEC61970.Generation.GenerationDynamics.HeatRecoveryBoiler;
import EA_Model.IEC61970.Generation.GenerationDynamics.HydroTurbine;
import EA_Model.IEC61970.Generation.GenerationDynamics.PWRSteamSupply;
import EA_Model.IEC61970.Generation.GenerationDynamics.PrimeMover;
import EA_Model.IEC61970.Generation.GenerationDynamics.SteamSupply;
import EA_Model.IEC61970.Generation.GenerationDynamics.SteamTurbine;
import EA_Model.IEC61970.Generation.GenerationDynamics.Subcritical;
import EA_Model.IEC61970.Generation.GenerationDynamics.Supercritical;
import EA_Model.IEC61970.Generation.GenerationDynamics.TurbineType;

import EA_Model.IEC61970.Generation.Production.ProductionPackage;

import EA_Model.IEC61970.Generation.Production.impl.ProductionPackageImpl;

import EA_Model.IEC61970.IEC61970Package;

import EA_Model.IEC61970.Informative.InfCore.InfCorePackage;

import EA_Model.IEC61970.Informative.InfCore.impl.InfCorePackageImpl;

import EA_Model.IEC61970.LoadModel.LoadModelPackage;

import EA_Model.IEC61970.LoadModel.impl.LoadModelPackageImpl;

import EA_Model.IEC61970.Meas.MeasPackage;

import EA_Model.IEC61970.Meas.impl.MeasPackageImpl;

import EA_Model.IEC61970.OperationalLimits.OperationalLimitsPackage;

import EA_Model.IEC61970.OperationalLimits.impl.OperationalLimitsPackageImpl;

import EA_Model.IEC61970.Outage.OutagePackage;

import EA_Model.IEC61970.Outage.impl.OutagePackageImpl;

import EA_Model.IEC61970.Protection.ProtectionPackage;

import EA_Model.IEC61970.Protection.impl.ProtectionPackageImpl;

import EA_Model.IEC61970.SCADA.SCADAPackage;

import EA_Model.IEC61970.SCADA.impl.SCADAPackageImpl;

import EA_Model.IEC61970.StateVariables.StateVariablesPackage;

import EA_Model.IEC61970.StateVariables.impl.StateVariablesPackageImpl;

import EA_Model.IEC61970.Topology.TopologyPackage;

import EA_Model.IEC61970.Topology.impl.TopologyPackageImpl;

import EA_Model.IEC61970.Wires.WiresPackage;

import EA_Model.IEC61970.Wires.impl.WiresPackageImpl;

import EA_Model.IEC61970.impl.IEC61970PackageImpl;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

import org.eclipse.emf.ecore.impl.EPackageImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class GenerationDynamicsPackageImpl extends EPackageImpl implements GenerationDynamicsPackage {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass bwrSteamSupplyEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass steamSupplyEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass ctTempActivePowerCurveEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass combustionTurbineEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass primeMoverEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass drumBoilerEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass fossilSteamSupplyEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass heatRecoveryBoilerEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass hydroTurbineEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass pwrSteamSupplyEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass steamTurbineEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass subcriticalEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass supercriticalEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum boilerControlModeEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum turbineTypeEEnum = null;

	/**
	 * Creates an instance of the model <b>Package</b>, registered with
	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
	 * package URI value.
	 * <p>Note: the correct way to create the package is via the static
	 * factory method {@link #init init()}, which also performs
	 * initialization of the package, or returns the registered package,
	 * if one already exists.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see org.eclipse.emf.ecore.EPackage.Registry
	 * @see EA_Model.IEC61970.Generation.GenerationDynamics.GenerationDynamicsPackage#eNS_URI
	 * @see #init()
	 * @generated
	 */
	private GenerationDynamicsPackageImpl() {
		super(eNS_URI, GenerationDynamicsFactory.eINSTANCE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static boolean isInited = false;

	/**
	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
	 * 
	 * <p>This method is used to initialize {@link GenerationDynamicsPackage#eINSTANCE} when that field is accessed.
	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #eNS_URI
	 * @see #createPackageContents()
	 * @see #initializePackageContents()
	 * @generated
	 */
	public static GenerationDynamicsPackage init() {
		if (isInited) return (GenerationDynamicsPackage)EPackage.Registry.INSTANCE.getEPackage(GenerationDynamicsPackage.eNS_URI);

		// Obtain or create and register package
		GenerationDynamicsPackageImpl theGenerationDynamicsPackage = (GenerationDynamicsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof GenerationDynamicsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new GenerationDynamicsPackageImpl());

		isInited = true;

		// Obtain or create and register interdependencies
		IEC61970PackageImpl theIEC61970Package = (IEC61970PackageImpl)(EPackage.Registry.INSTANCE.getEPackage(IEC61970Package.eNS_URI) instanceof IEC61970PackageImpl ? EPackage.Registry.INSTANCE.getEPackage(IEC61970Package.eNS_URI) : IEC61970Package.eINSTANCE);
		DomainPackageImpl theDomainPackage = (DomainPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DomainPackage.eNS_URI) instanceof DomainPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DomainPackage.eNS_URI) : DomainPackage.eINSTANCE);
		InfCorePackageImpl theInfCorePackage = (InfCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfCorePackage.eNS_URI) instanceof InfCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfCorePackage.eNS_URI) : InfCorePackage.eINSTANCE);
		CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE);
		OperationalLimitsPackageImpl theOperationalLimitsPackage = (OperationalLimitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperationalLimitsPackage.eNS_URI) instanceof OperationalLimitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperationalLimitsPackage.eNS_URI) : OperationalLimitsPackage.eINSTANCE);
		TopologyPackageImpl theTopologyPackage = (TopologyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TopologyPackage.eNS_URI) instanceof TopologyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TopologyPackage.eNS_URI) : TopologyPackage.eINSTANCE);
		WiresPackageImpl theWiresPackage = (WiresPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WiresPackage.eNS_URI) instanceof WiresPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WiresPackage.eNS_URI) : WiresPackage.eINSTANCE);
		LoadModelPackageImpl theLoadModelPackage = (LoadModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(LoadModelPackage.eNS_URI) instanceof LoadModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(LoadModelPackage.eNS_URI) : LoadModelPackage.eINSTANCE);
		ProductionPackageImpl theProductionPackage = (ProductionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ProductionPackage.eNS_URI) instanceof ProductionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ProductionPackage.eNS_URI) : ProductionPackage.eINSTANCE);
		OutagePackageImpl theOutagePackage = (OutagePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OutagePackage.eNS_URI) instanceof OutagePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OutagePackage.eNS_URI) : OutagePackage.eINSTANCE);
		ProtectionPackageImpl theProtectionPackage = (ProtectionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ProtectionPackage.eNS_URI) instanceof ProtectionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ProtectionPackage.eNS_URI) : ProtectionPackage.eINSTANCE);
		EquivalentsPackageImpl theEquivalentsPackage = (EquivalentsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EquivalentsPackage.eNS_URI) instanceof EquivalentsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EquivalentsPackage.eNS_URI) : EquivalentsPackage.eINSTANCE);
		MeasPackageImpl theMeasPackage = (MeasPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasPackage.eNS_URI) instanceof MeasPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasPackage.eNS_URI) : MeasPackage.eINSTANCE);
		SCADAPackageImpl theSCADAPackage = (SCADAPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SCADAPackage.eNS_URI) instanceof SCADAPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SCADAPackage.eNS_URI) : SCADAPackage.eINSTANCE);
		ControlAreaPackageImpl theControlAreaPackage = (ControlAreaPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ControlAreaPackage.eNS_URI) instanceof ControlAreaPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ControlAreaPackage.eNS_URI) : ControlAreaPackage.eINSTANCE);
		ContingencyPackageImpl theContingencyPackage = (ContingencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ContingencyPackage.eNS_URI) instanceof ContingencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ContingencyPackage.eNS_URI) : ContingencyPackage.eINSTANCE);
		StateVariablesPackageImpl theStateVariablesPackage = (StateVariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StateVariablesPackage.eNS_URI) instanceof StateVariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StateVariablesPackage.eNS_URI) : StateVariablesPackage.eINSTANCE);

		// Create package meta-data objects
		theGenerationDynamicsPackage.createPackageContents();
		theIEC61970Package.createPackageContents();
		theDomainPackage.createPackageContents();
		theInfCorePackage.createPackageContents();
		theCorePackage.createPackageContents();
		theOperationalLimitsPackage.createPackageContents();
		theTopologyPackage.createPackageContents();
		theWiresPackage.createPackageContents();
		theLoadModelPackage.createPackageContents();
		theProductionPackage.createPackageContents();
		theOutagePackage.createPackageContents();
		theProtectionPackage.createPackageContents();
		theEquivalentsPackage.createPackageContents();
		theMeasPackage.createPackageContents();
		theSCADAPackage.createPackageContents();
		theControlAreaPackage.createPackageContents();
		theContingencyPackage.createPackageContents();
		theStateVariablesPackage.createPackageContents();

		// Initialize created meta-data
		theGenerationDynamicsPackage.initializePackageContents();
		theIEC61970Package.initializePackageContents();
		theDomainPackage.initializePackageContents();
		theInfCorePackage.initializePackageContents();
		theCorePackage.initializePackageContents();
		theOperationalLimitsPackage.initializePackageContents();
		theTopologyPackage.initializePackageContents();
		theWiresPackage.initializePackageContents();
		theLoadModelPackage.initializePackageContents();
		theProductionPackage.initializePackageContents();
		theOutagePackage.initializePackageContents();
		theProtectionPackage.initializePackageContents();
		theEquivalentsPackage.initializePackageContents();
		theMeasPackage.initializePackageContents();
		theSCADAPackage.initializePackageContents();
		theControlAreaPackage.initializePackageContents();
		theContingencyPackage.initializePackageContents();
		theStateVariablesPackage.initializePackageContents();

		// Mark meta-data to indicate it can't be changed
		theGenerationDynamicsPackage.freeze();

  
		// Update the registry and return the package
		EPackage.Registry.INSTANCE.put(GenerationDynamicsPackage.eNS_URI, theGenerationDynamicsPackage);
		return theGenerationDynamicsPackage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getBWRSteamSupply() {
		return bwrSteamSupplyEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_HighPowerLimit() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_InCoreThermalTC() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_IntegralGain() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_LowerLimit() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_LowPowerLimit() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_PressureLimit() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_PressureSetpointGA() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_PressureSetpointTC1() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_PressureSetpointTC2() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_ProportionalGain() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RfAux1() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RfAux2() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RfAux3() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RfAux4() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RfAux5() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RfAux6() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RfAux7() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RfAux8() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RodPattern() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(18);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_RodPatternConstant() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(19);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getBWRSteamSupply_UpperLimit() {
		return (EReference)bwrSteamSupplyEClass.getEStructuralFeatures().get(20);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getSteamSupply() {
		return steamSupplyEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamSupply_SteamSupplyRating() {
		return (EReference)steamSupplyEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getCTTempActivePowerCurve() {
		return ctTempActivePowerCurveEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getCombustionTurbine() {
		return combustionTurbineEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCombustionTurbine_AmbientTemp() {
		return (EReference)combustionTurbineEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCombustionTurbine_AuxPowerVersusFrequency() {
		return (EReference)combustionTurbineEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCombustionTurbine_AuxPowerVersusVoltage() {
		return (EReference)combustionTurbineEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCombustionTurbine_CapabilityVersusFrequency() {
		return (EReference)combustionTurbineEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCombustionTurbine_HeatRecoveryFlag() {
		return (EReference)combustionTurbineEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCombustionTurbine_PowerVariationByTemp() {
		return (EReference)combustionTurbineEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCombustionTurbine_ReferenceTemp() {
		return (EReference)combustionTurbineEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getCombustionTurbine_TimeConstant() {
		return (EReference)combustionTurbineEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getPrimeMover() {
		return primeMoverEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPrimeMover_PrimeMoverRating() {
		return (EReference)primeMoverEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getDrumBoiler() {
		return drumBoilerEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDrumBoiler_DrumBoilerRating() {
		return (EReference)drumBoilerEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getFossilSteamSupply() {
		return fossilSteamSupplyEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_AuxPowerVersusFrequency() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_AuxPowerVersusVoltage() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getFossilSteamSupply_BoilerControlMode() {
		return (EAttribute)fossilSteamSupplyEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_ControlErrorBiasP() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_ControlIC() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_ControlPC() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_ControlPEB() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_ControlPED() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_ControlTC() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_FeedWaterIG() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_FeedWaterPG() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_FeedWaterTC() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_FuelDemandLimit() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_FuelSupplyDelay() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_FuelSupplyTC() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_MaxErrorRateP() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_MechPowerSensorLag() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_MinErrorRateP() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_PressureCtrlDG() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(18);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_PressureCtrlIG() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(19);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_PressureCtrlPG() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(20);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_PressureFeedback() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(21);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_SuperHeater1Capacity() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(22);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_SuperHeater2Capacity() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(23);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_SuperHeaterPipePD() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(24);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getFossilSteamSupply_ThrottlePressureSP() {
		return (EReference)fossilSteamSupplyEClass.getEStructuralFeatures().get(25);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getHeatRecoveryBoiler() {
		return heatRecoveryBoilerEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHeatRecoveryBoiler_SteamSupplyRating2() {
		return (EReference)heatRecoveryBoilerEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getHydroTurbine() {
		return hydroTurbineEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_GateRateLimit() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_GateUpperLimit() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_MaxHeadMaxP() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_MinHeadMaxP() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_SpeedRating() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_SpeedRegulation() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_TransientDroopTime() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_TransientRegulation() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_TurbineRating() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getHydroTurbine_TurbineType() {
		return (EAttribute)hydroTurbineEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getHydroTurbine_WaterStartingTime() {
		return (EReference)hydroTurbineEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getPWRSteamSupply() {
		return pwrSteamSupplyEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_ColdLegFBLagTC() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_ColdLegFBLeadTC1() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_ColdLegFBLeadTC2() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_ColdLegFG1() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_ColdLegFG2() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_ColdLegLagTC() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_CoreHTLagTC1() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_CoreHTLagTC2() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_CoreNeutronicsEffTC() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_CoreNeutronicsHT() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_FeedbackFactor() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_HotLegLagTC() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_HotLegSteamGain() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_HotLegToColdLegGain() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_PressureCG() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_SteamFlowFG() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_SteamPressureDropLagTC() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_SteamPressureFG() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_ThrottlePressureFactor() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(18);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getPWRSteamSupply_ThrottlePressureSP() {
		return (EReference)pwrSteamSupplyEClass.getEStructuralFeatures().get(19);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getSteamTurbine() {
		return steamTurbineEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_CrossoverTC() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Reheater1TC() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Reheater2TC() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Shaft1PowerHP() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Shaft1PowerIP() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Shaft1PowerLP1() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Shaft1PowerLP2() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Shaft2PowerHP() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Shaft2PowerIP() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Shaft2PowerLP1() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_Shaft2PowerLP2() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getSteamTurbine_SteamChestTC() {
		return (EReference)steamTurbineEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getSubcritical() {
		return subcriticalEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getSupercritical() {
		return supercriticalEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getBoilerControlMode() {
		return boilerControlModeEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getTurbineType() {
		return turbineTypeEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public GenerationDynamicsFactory getGenerationDynamicsFactory() {
		return (GenerationDynamicsFactory)getEFactoryInstance();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isCreated = false;

	/**
	 * Creates the meta-model objects for the package.  This method is
	 * guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void createPackageContents() {
		if (isCreated) return;
		isCreated = true;

		// Create classes and their features
		bwrSteamSupplyEClass = createEClass(BWR_STEAM_SUPPLY);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__HIGH_POWER_LIMIT);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__IN_CORE_THERMAL_TC);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__INTEGRAL_GAIN);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__LOWER_LIMIT);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__LOW_POWER_LIMIT);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__PRESSURE_LIMIT);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_GA);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC1);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__PRESSURE_SETPOINT_TC2);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__PROPORTIONAL_GAIN);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__RF_AUX1);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__RF_AUX2);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__RF_AUX3);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__RF_AUX4);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__RF_AUX5);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__RF_AUX6);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__RF_AUX7);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__RF_AUX8);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__ROD_PATTERN);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__ROD_PATTERN_CONSTANT);
		createEReference(bwrSteamSupplyEClass, BWR_STEAM_SUPPLY__UPPER_LIMIT);

		steamSupplyEClass = createEClass(STEAM_SUPPLY);
		createEReference(steamSupplyEClass, STEAM_SUPPLY__STEAM_SUPPLY_RATING);

		ctTempActivePowerCurveEClass = createEClass(CT_TEMP_ACTIVE_POWER_CURVE);

		combustionTurbineEClass = createEClass(COMBUSTION_TURBINE);
		createEReference(combustionTurbineEClass, COMBUSTION_TURBINE__AMBIENT_TEMP);
		createEReference(combustionTurbineEClass, COMBUSTION_TURBINE__AUX_POWER_VERSUS_FREQUENCY);
		createEReference(combustionTurbineEClass, COMBUSTION_TURBINE__AUX_POWER_VERSUS_VOLTAGE);
		createEReference(combustionTurbineEClass, COMBUSTION_TURBINE__CAPABILITY_VERSUS_FREQUENCY);
		createEReference(combustionTurbineEClass, COMBUSTION_TURBINE__HEAT_RECOVERY_FLAG);
		createEReference(combustionTurbineEClass, COMBUSTION_TURBINE__POWER_VARIATION_BY_TEMP);
		createEReference(combustionTurbineEClass, COMBUSTION_TURBINE__REFERENCE_TEMP);
		createEReference(combustionTurbineEClass, COMBUSTION_TURBINE__TIME_CONSTANT);

		primeMoverEClass = createEClass(PRIME_MOVER);
		createEReference(primeMoverEClass, PRIME_MOVER__PRIME_MOVER_RATING);

		drumBoilerEClass = createEClass(DRUM_BOILER);
		createEReference(drumBoilerEClass, DRUM_BOILER__DRUM_BOILER_RATING);

		fossilSteamSupplyEClass = createEClass(FOSSIL_STEAM_SUPPLY);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_FREQUENCY);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__AUX_POWER_VERSUS_VOLTAGE);
		createEAttribute(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__BOILER_CONTROL_MODE);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__CONTROL_ERROR_BIAS_P);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__CONTROL_IC);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__CONTROL_PC);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__CONTROL_PEB);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__CONTROL_PED);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__CONTROL_TC);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__FEED_WATER_IG);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__FEED_WATER_PG);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__FEED_WATER_TC);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__FUEL_DEMAND_LIMIT);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_DELAY);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__FUEL_SUPPLY_TC);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__MAX_ERROR_RATE_P);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__MECH_POWER_SENSOR_LAG);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__MIN_ERROR_RATE_P);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_DG);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_IG);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__PRESSURE_CTRL_PG);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__PRESSURE_FEEDBACK);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__SUPER_HEATER1_CAPACITY);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__SUPER_HEATER2_CAPACITY);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__SUPER_HEATER_PIPE_PD);
		createEReference(fossilSteamSupplyEClass, FOSSIL_STEAM_SUPPLY__THROTTLE_PRESSURE_SP);

		heatRecoveryBoilerEClass = createEClass(HEAT_RECOVERY_BOILER);
		createEReference(heatRecoveryBoilerEClass, HEAT_RECOVERY_BOILER__STEAM_SUPPLY_RATING2);

		hydroTurbineEClass = createEClass(HYDRO_TURBINE);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__GATE_RATE_LIMIT);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__GATE_UPPER_LIMIT);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__MAX_HEAD_MAX_P);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__MIN_HEAD_MAX_P);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__SPEED_RATING);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__SPEED_REGULATION);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__TRANSIENT_DROOP_TIME);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__TRANSIENT_REGULATION);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__TURBINE_RATING);
		createEAttribute(hydroTurbineEClass, HYDRO_TURBINE__TURBINE_TYPE);
		createEReference(hydroTurbineEClass, HYDRO_TURBINE__WATER_STARTING_TIME);

		pwrSteamSupplyEClass = createEClass(PWR_STEAM_SUPPLY);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__COLD_LEG_FB_LAG_TC);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__COLD_LEG_FB_LEAD_TC1);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__COLD_LEG_FB_LEAD_TC2);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__COLD_LEG_FG1);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__COLD_LEG_FG2);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__COLD_LEG_LAG_TC);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__CORE_HT_LAG_TC1);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__CORE_HT_LAG_TC2);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__CORE_NEUTRONICS_EFF_TC);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__CORE_NEUTRONICS_HT);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__FEEDBACK_FACTOR);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__HOT_LEG_LAG_TC);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__HOT_LEG_STEAM_GAIN);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__HOT_LEG_TO_COLD_LEG_GAIN);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__PRESSURE_CG);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__STEAM_FLOW_FG);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__STEAM_PRESSURE_DROP_LAG_TC);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__STEAM_PRESSURE_FG);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__THROTTLE_PRESSURE_FACTOR);
		createEReference(pwrSteamSupplyEClass, PWR_STEAM_SUPPLY__THROTTLE_PRESSURE_SP);

		steamTurbineEClass = createEClass(STEAM_TURBINE);
		createEReference(steamTurbineEClass, STEAM_TURBINE__CROSSOVER_TC);
		createEReference(steamTurbineEClass, STEAM_TURBINE__REHEATER1_TC);
		createEReference(steamTurbineEClass, STEAM_TURBINE__REHEATER2_TC);
		createEReference(steamTurbineEClass, STEAM_TURBINE__SHAFT1_POWER_HP);
		createEReference(steamTurbineEClass, STEAM_TURBINE__SHAFT1_POWER_IP);
		createEReference(steamTurbineEClass, STEAM_TURBINE__SHAFT1_POWER_LP1);
		createEReference(steamTurbineEClass, STEAM_TURBINE__SHAFT1_POWER_LP2);
		createEReference(steamTurbineEClass, STEAM_TURBINE__SHAFT2_POWER_HP);
		createEReference(steamTurbineEClass, STEAM_TURBINE__SHAFT2_POWER_IP);
		createEReference(steamTurbineEClass, STEAM_TURBINE__SHAFT2_POWER_LP1);
		createEReference(steamTurbineEClass, STEAM_TURBINE__SHAFT2_POWER_LP2);
		createEReference(steamTurbineEClass, STEAM_TURBINE__STEAM_CHEST_TC);

		subcriticalEClass = createEClass(SUBCRITICAL);

		supercriticalEClass = createEClass(SUPERCRITICAL);

		// Create enums
		boilerControlModeEEnum = createEEnum(BOILER_CONTROL_MODE);
		turbineTypeEEnum = createEEnum(TURBINE_TYPE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isInitialized = false;

	/**
	 * Complete the initialization of the package and its meta-model.  This
	 * method is guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void initializePackageContents() {
		if (isInitialized) return;
		isInitialized = true;

		// Initialize package
		setName(eNAME);
		setNsPrefix(eNS_PREFIX);
		setNsURI(eNS_URI);

		// Obtain other dependent packages
		DomainPackage theDomainPackage = (DomainPackage)EPackage.Registry.INSTANCE.getEPackage(DomainPackage.eNS_URI);
		CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);

		// Create type parameters

		// Set bounds for type parameters

		// Add supertypes to classes
		bwrSteamSupplyEClass.getESuperTypes().add(this.getSteamSupply());
		steamSupplyEClass.getESuperTypes().add(theCorePackage.getPowerSystemResource());
		ctTempActivePowerCurveEClass.getESuperTypes().add(theCorePackage.getCurve());
		combustionTurbineEClass.getESuperTypes().add(this.getPrimeMover());
		primeMoverEClass.getESuperTypes().add(theCorePackage.getPowerSystemResource());
		drumBoilerEClass.getESuperTypes().add(this.getFossilSteamSupply());
		fossilSteamSupplyEClass.getESuperTypes().add(this.getSteamSupply());
		heatRecoveryBoilerEClass.getESuperTypes().add(this.getFossilSteamSupply());
		hydroTurbineEClass.getESuperTypes().add(this.getPrimeMover());
		pwrSteamSupplyEClass.getESuperTypes().add(this.getSteamSupply());
		steamTurbineEClass.getESuperTypes().add(this.getPrimeMover());
		subcriticalEClass.getESuperTypes().add(this.getFossilSteamSupply());
		supercriticalEClass.getESuperTypes().add(this.getFossilSteamSupply());

		// Initialize classes and features; add operations and parameters
		initEClass(bwrSteamSupplyEClass, BWRSteamSupply.class, "BWRSteamSupply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getBWRSteamSupply_HighPowerLimit(), theDomainPackage.getPU(), null, "highPowerLimit", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_InCoreThermalTC(), theDomainPackage.getSeconds(), null, "inCoreThermalTC", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_IntegralGain(), theDomainPackage.getFloat(), null, "integralGain", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_LowerLimit(), theDomainPackage.getPU(), null, "lowerLimit", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_LowPowerLimit(), theDomainPackage.getPU(), null, "lowPowerLimit", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_PressureLimit(), theDomainPackage.getPU(), null, "pressureLimit", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_PressureSetpointGA(), theDomainPackage.getFloat(), null, "pressureSetpointGA", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_PressureSetpointTC1(), theDomainPackage.getSeconds(), null, "pressureSetpointTC1", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_PressureSetpointTC2(), theDomainPackage.getSeconds(), null, "pressureSetpointTC2", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_ProportionalGain(), theDomainPackage.getFloat(), null, "proportionalGain", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RfAux1(), theDomainPackage.getPU(), null, "rfAux1", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RfAux2(), theDomainPackage.getPU(), null, "rfAux2", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RfAux3(), theDomainPackage.getPU(), null, "rfAux3", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RfAux4(), theDomainPackage.getPU(), null, "rfAux4", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RfAux5(), theDomainPackage.getPU(), null, "rfAux5", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RfAux6(), theDomainPackage.getPU(), null, "rfAux6", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RfAux7(), theDomainPackage.getPU(), null, "rfAux7", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RfAux8(), theDomainPackage.getPU(), null, "rfAux8", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RodPattern(), theDomainPackage.getPU(), null, "rodPattern", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_RodPatternConstant(), theDomainPackage.getFloat(), null, "rodPatternConstant", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getBWRSteamSupply_UpperLimit(), theDomainPackage.getPU(), null, "upperLimit", null, 0, 1, BWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(steamSupplyEClass, SteamSupply.class, "SteamSupply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getSteamSupply_SteamSupplyRating(), theDomainPackage.getFloat(), null, "steamSupplyRating", null, 0, 1, SteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(ctTempActivePowerCurveEClass, CTTempActivePowerCurve.class, "CTTempActivePowerCurve", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(combustionTurbineEClass, CombustionTurbine.class, "CombustionTurbine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getCombustionTurbine_AmbientTemp(), theDomainPackage.getTemperature(), null, "ambientTemp", null, 0, 1, CombustionTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getCombustionTurbine_AuxPowerVersusFrequency(), theDomainPackage.getPU(), null, "auxPowerVersusFrequency", null, 0, 1, CombustionTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getCombustionTurbine_AuxPowerVersusVoltage(), theDomainPackage.getPU(), null, "auxPowerVersusVoltage", null, 0, 1, CombustionTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getCombustionTurbine_CapabilityVersusFrequency(), theDomainPackage.getPU(), null, "capabilityVersusFrequency", null, 0, 1, CombustionTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getCombustionTurbine_HeatRecoveryFlag(), theDomainPackage.getBoolean(), null, "heatRecoveryFlag", null, 0, 1, CombustionTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getCombustionTurbine_PowerVariationByTemp(), theDomainPackage.getPU(), null, "powerVariationByTemp", null, 0, 1, CombustionTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getCombustionTurbine_ReferenceTemp(), theDomainPackage.getTemperature(), null, "referenceTemp", null, 0, 1, CombustionTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getCombustionTurbine_TimeConstant(), theDomainPackage.getSeconds(), null, "timeConstant", null, 0, 1, CombustionTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(primeMoverEClass, PrimeMover.class, "PrimeMover", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getPrimeMover_PrimeMoverRating(), theDomainPackage.getFloat(), null, "primeMoverRating", null, 0, 1, PrimeMover.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(drumBoilerEClass, DrumBoiler.class, "DrumBoiler", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getDrumBoiler_DrumBoilerRating(), theDomainPackage.getFloat(), null, "drumBoilerRating", null, 0, 1, DrumBoiler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(fossilSteamSupplyEClass, FossilSteamSupply.class, "FossilSteamSupply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getFossilSteamSupply_AuxPowerVersusFrequency(), theDomainPackage.getPU(), null, "auxPowerVersusFrequency", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_AuxPowerVersusVoltage(), theDomainPackage.getPU(), null, "auxPowerVersusVoltage", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEAttribute(getFossilSteamSupply_BoilerControlMode(), this.getBoilerControlMode(), "boilerControlMode", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_ControlErrorBiasP(), theDomainPackage.getFloat(), null, "controlErrorBiasP", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_ControlIC(), theDomainPackage.getFloat(), null, "controlIC", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_ControlPC(), theDomainPackage.getFloat(), null, "controlPC", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_ControlPEB(), theDomainPackage.getFloat(), null, "controlPEB", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_ControlPED(), theDomainPackage.getPU(), null, "controlPED", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_ControlTC(), theDomainPackage.getFloat(), null, "controlTC", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_FeedWaterIG(), theDomainPackage.getFloat(), null, "feedWaterIG", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_FeedWaterPG(), theDomainPackage.getFloat(), null, "feedWaterPG", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_FeedWaterTC(), theDomainPackage.getSeconds(), null, "feedWaterTC", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_FuelDemandLimit(), theDomainPackage.getPU(), null, "fuelDemandLimit", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_FuelSupplyDelay(), theDomainPackage.getSeconds(), null, "fuelSupplyDelay", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_FuelSupplyTC(), theDomainPackage.getSeconds(), null, "fuelSupplyTC", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_MaxErrorRateP(), theDomainPackage.getFloat(), null, "maxErrorRateP", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_MechPowerSensorLag(), theDomainPackage.getSeconds(), null, "mechPowerSensorLag", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_MinErrorRateP(), theDomainPackage.getFloat(), null, "minErrorRateP", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_PressureCtrlDG(), theDomainPackage.getFloat(), null, "pressureCtrlDG", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_PressureCtrlIG(), theDomainPackage.getFloat(), null, "pressureCtrlIG", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_PressureCtrlPG(), theDomainPackage.getFloat(), null, "pressureCtrlPG", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_PressureFeedback(), theDomainPackage.getInteger(), null, "pressureFeedback", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_SuperHeater1Capacity(), theDomainPackage.getFloat(), null, "superHeater1Capacity", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_SuperHeater2Capacity(), theDomainPackage.getFloat(), null, "superHeater2Capacity", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_SuperHeaterPipePD(), theDomainPackage.getFloat(), null, "superHeaterPipePD", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getFossilSteamSupply_ThrottlePressureSP(), theDomainPackage.getPU(), null, "throttlePressureSP", null, 0, 1, FossilSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(heatRecoveryBoilerEClass, HeatRecoveryBoiler.class, "HeatRecoveryBoiler", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getHeatRecoveryBoiler_SteamSupplyRating2(), theDomainPackage.getFloat(), null, "steamSupplyRating2", null, 0, 1, HeatRecoveryBoiler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(hydroTurbineEClass, HydroTurbine.class, "HydroTurbine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getHydroTurbine_GateRateLimit(), theDomainPackage.getFloat(), null, "gateRateLimit", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getHydroTurbine_GateUpperLimit(), theDomainPackage.getPU(), null, "gateUpperLimit", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getHydroTurbine_MaxHeadMaxP(), theDomainPackage.getActivePower(), null, "maxHeadMaxP", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getHydroTurbine_MinHeadMaxP(), theDomainPackage.getActivePower(), null, "minHeadMaxP", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getHydroTurbine_SpeedRating(), theDomainPackage.getRotationSpeed(), null, "speedRating", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getHydroTurbine_SpeedRegulation(), theDomainPackage.getPU(), null, "speedRegulation", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getHydroTurbine_TransientDroopTime(), theDomainPackage.getSeconds(), null, "transientDroopTime", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getHydroTurbine_TransientRegulation(), theDomainPackage.getPU(), null, "transientRegulation", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getHydroTurbine_TurbineRating(), theDomainPackage.getActivePower(), null, "turbineRating", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEAttribute(getHydroTurbine_TurbineType(), this.getTurbineType(), "turbineType", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getHydroTurbine_WaterStartingTime(), theDomainPackage.getSeconds(), null, "waterStartingTime", null, 0, 1, HydroTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(pwrSteamSupplyEClass, PWRSteamSupply.class, "PWRSteamSupply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getPWRSteamSupply_ColdLegFBLagTC(), theDomainPackage.getPU(), null, "coldLegFBLagTC", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_ColdLegFBLeadTC1(), theDomainPackage.getPU(), null, "coldLegFBLeadTC1", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_ColdLegFBLeadTC2(), theDomainPackage.getPU(), null, "coldLegFBLeadTC2", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_ColdLegFG1(), theDomainPackage.getPU(), null, "coldLegFG1", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_ColdLegFG2(), theDomainPackage.getPU(), null, "coldLegFG2", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_ColdLegLagTC(), theDomainPackage.getPU(), null, "coldLegLagTC", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_CoreHTLagTC1(), theDomainPackage.getPU(), null, "coreHTLagTC1", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_CoreHTLagTC2(), theDomainPackage.getPU(), null, "coreHTLagTC2", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_CoreNeutronicsEffTC(), theDomainPackage.getPU(), null, "coreNeutronicsEffTC", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_CoreNeutronicsHT(), theDomainPackage.getPU(), null, "coreNeutronicsHT", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_FeedbackFactor(), theDomainPackage.getPU(), null, "feedbackFactor", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_HotLegLagTC(), theDomainPackage.getPU(), null, "hotLegLagTC", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_HotLegSteamGain(), theDomainPackage.getPU(), null, "hotLegSteamGain", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_HotLegToColdLegGain(), theDomainPackage.getPU(), null, "hotLegToColdLegGain", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_PressureCG(), theDomainPackage.getPU(), null, "pressureCG", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_SteamFlowFG(), theDomainPackage.getPU(), null, "steamFlowFG", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_SteamPressureDropLagTC(), theDomainPackage.getPU(), null, "steamPressureDropLagTC", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_SteamPressureFG(), theDomainPackage.getPU(), null, "steamPressureFG", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_ThrottlePressureFactor(), theDomainPackage.getPU(), null, "throttlePressureFactor", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getPWRSteamSupply_ThrottlePressureSP(), theDomainPackage.getPU(), null, "throttlePressureSP", null, 0, 1, PWRSteamSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(steamTurbineEClass, SteamTurbine.class, "SteamTurbine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getSteamTurbine_CrossoverTC(), theDomainPackage.getSeconds(), null, "crossoverTC", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Reheater1TC(), theDomainPackage.getSeconds(), null, "reheater1TC", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Reheater2TC(), theDomainPackage.getSeconds(), null, "reheater2TC", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Shaft1PowerHP(), theDomainPackage.getFloat(), null, "shaft1PowerHP", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Shaft1PowerIP(), theDomainPackage.getFloat(), null, "shaft1PowerIP", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Shaft1PowerLP1(), theDomainPackage.getFloat(), null, "shaft1PowerLP1", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Shaft1PowerLP2(), theDomainPackage.getFloat(), null, "shaft1PowerLP2", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Shaft2PowerHP(), theDomainPackage.getFloat(), null, "shaft2PowerHP", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Shaft2PowerIP(), theDomainPackage.getFloat(), null, "shaft2PowerIP", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Shaft2PowerLP1(), theDomainPackage.getFloat(), null, "shaft2PowerLP1", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_Shaft2PowerLP2(), theDomainPackage.getFloat(), null, "shaft2PowerLP2", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
		initEReference(getSteamTurbine_SteamChestTC(), theDomainPackage.getSeconds(), null, "steamChestTC", null, 0, 1, SteamTurbine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

		initEClass(subcriticalEClass, Subcritical.class, "Subcritical", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(supercriticalEClass, Supercritical.class, "Supercritical", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		// Initialize enums and add enum literals
		initEEnum(boilerControlModeEEnum, BoilerControlMode.class, "BoilerControlMode");
		addEEnumLiteral(boilerControlModeEEnum, BoilerControlMode.FOLLOWING);
		addEEnumLiteral(boilerControlModeEEnum, BoilerControlMode.COORDINATED);

		initEEnum(turbineTypeEEnum, TurbineType.class, "TurbineType");
		addEEnumLiteral(turbineTypeEEnum, TurbineType.FRANCIS);
		addEEnumLiteral(turbineTypeEEnum, TurbineType.PELTON);
		addEEnumLiteral(turbineTypeEEnum, TurbineType.KAPLAN);
	}

} //GenerationDynamicsPackageImpl
